package Day_0218.DataType;

/**
 * @author zxc
 * @date 2023/02/18 14:28
 **/
public class Abstract_Class {
    public static void main(String[] args) {
        /**
         * 普通类和抽象类之间的区别
         * ===》
         * （1）普通类不能包含抽象方法，抽象类可以包含抽象方法。
         * （2）抽象类不能直接实例化，普通类可以直接实例化。
         *
         */

        /**
         * 抽象类能够使用final关键字进行修饰不
         * ===》
         * （1）定义抽象类，就是让其他类继承的，
         * （2）如果使用 final 关键字去修饰此抽象类的话，该类就不能被继承，
         *  这样彼此就会产生矛盾，所以 final 不能修饰抽象类
         *
         */

        /**
         * 谈一谈对于构造方法的理解
         * ===》
         * （1）当新对象被创建的时候，构造方法会被调用。
         *  每一个类都有构造方法。在程序员没有给类提供构造方法的情况下，Java编译器会为这个类创建一个默认的构造方法。
         *
         * （2）Java中构造方法重载和方法重载很相似。
         *  可以为一个类创建多个构造方法。每一个构造方法必须有它自己唯一的参数列表。
         *
         * （3）Java不支持像C++中那样的复制构造方法，
         *  这个不同点是因为如果你不自己写构造方法的情况下，Java不会创建默认的复制构造方法。
         *
         */

        /**
         * 类和接口能否实现多继承
         * ===》
         * 1.Java中类不支持多继承，只支持单继承（即一个类只有一个父类）。
         * 2.Java中的接口支持多继承，即一个子接口可以有多个父接口。
         * ===》
         * 总结 ：
         * （1）接口的作用是用来扩展对象的功能;
         * （2）一个子接口继承多个父接口，说明子接口扩展了多个功能;
         *  ===> 当某个类实现该子接口时，那么该类就扩展了相应子接口所实现的功能。
         *
         */
    }
}
